/**
 * event_loop 读就绪的 struct event 并提交到
 * 队列 e_queue 中通知 event_work 处理
 * event_work 主要调用 struct event 中的 handle
 * 处理事件逻辑。
 *
 * handle 处理事件后，可以将继续添加 event 走上述流程。
 */
#include <pthread.h>
#include "bsw_event.h"

struct event_action {
    int  (*add)  (struct event *);
    int  (*enque)(struct event_queue *);
    int  (*mod)  (struct event *);
    int  (*del)  (struct event *);
    int  (*init) (int);
    void (*close)(void);
};

struct event_ctx {
    volatile bool e_stop;
    struct event_queue  e_queue;
    struct event_action e_action;

    int e_works;
    pthread_t *e_work;
    pthread_t  e_workd[32];
    pthread_t  e_loop;
};

#if 0
#endif
static struct event_ctx e_ctx;

#if 0
#endif
static void * event_loop(void *arg)
{
    return 0;
}

static void * event_work(void *arg)
{
    return 0;
}

#if 0
#endif
int bsw_event_init(void)
{
    return 0;
}

void bsw_event_close(void)
{
    return ;
}

int bsw_event_add(struct event *e)
{
    return 0;
}

int bsw_event_del(struct event *e)
{
    return 0;
}

int bsw_event_mod(struct event *e)
{
    return 0;
}